package com.zhu.transaction.service;

import com.zhu.transaction.pojo.Product;
import com.zhu.transaction.pojo.ProductCondition;
import com.zhu.transaction.pojo.state.BackState;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zhu
 * @since 2021-01-07
 */
public interface ProductService {

    //添加一条商品记录
    int addProduct(Product product);

    //获取所有的商品记录
    List<Product> getAllProduct(String id);

    //获取分页数据
    List<Product> getProductByPage(ProductCondition productCondition, Integer num);

    //获取商品详细信息
    Product getProductDetail(String productId);

    //获取某个用户发布的商品
    List<Product> getMyProducts(String userId, Integer curPage);

    //获取收藏的商品
    List<Product> getFavoriteProducts(String[] favoriteIds);

    //获取商品总数
    int getProductNum(String userID,ProductCondition productCondition);

    //更新商品上架状态
    BackState updateProductShelves(String productId);

    //更新商品状态
    BackState updateProductState(String productId,Integer newState);

    //删除商品
    BackState deleteProduct(String productId,Boolean isLogic);

    //更新商品信息
    BackState updateProduct(Product product);

}
